package swing;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JToolBar;


public class FormCadPadrao extends JPanel implements ActionListener{
	protected JPanel painel1, painel2, painel3;
	protected JButton botaoFirst, botaoLast, botaoNext, botaoPrevious;
	protected JButton botaoNovo, botaoAlterar, botaoGravar, botaoCancelar; 
	protected ImageIcon imagemFirst, imagemLast, imagemNext, imagemPrevious;
	protected ImageIcon imagemNovo, imagemAlterar, imagemGravar, imagemCancelar;
	protected JToolBar navegacao, persistencia;
	protected ArrayList lista;
	protected int posicaoAtual, tamanhoLista;
	protected JScrollPane scrollPane;
	protected JTable tabela;
		
	public FormCadPadrao(){
		setSize(900, 600);
		setLayout(null);
		inicializar();
	}
	
	protected void inicializar(){
		painel1 = new JPanel();
		painel2 = new JPanel();
		painel3 = new JPanel();
		painel1.setBounds(0, 0, 900, 60);
		painel2.setBounds(0,61,900,100);
		painel3.setBounds(0,162,900,440);
		
		painel1.setBorder(BorderFactory.createRaisedBevelBorder());
		painel2.setBorder(BorderFactory.createRaisedBevelBorder());
		painel3.setBorder(BorderFactory.createLoweredBevelBorder());
		navegacao = new JToolBar();
		persistencia = new JToolBar();
		
		tabela = new JTable();
		scrollPane = new JScrollPane(tabela);
		
		botaoFirst = new JButton("Primeiro");
	    imagemFirst = new ImageIcon("/home/programador/workspace/PPCP-Havaianas/src/main/java/imagens/go_first.png");  
		botaoFirst.setIcon(imagemFirst);
		botaoFirst.addActionListener(this);
		
		botaoLast = new JButton("Último");
	    imagemLast = new ImageIcon("/home/programador/workspace/PPCP-Havaianas/src/main/java/imagens/go_last.png");  
		botaoLast.setIcon(imagemLast);
		botaoLast.addActionListener(this);
		
		botaoNext = new JButton("Próximo");
	    imagemNext = new ImageIcon("/home/programador/workspace/PPCP-Havaianas/src/main/java/imagens/go_next.png");  
		botaoNext.setIcon(imagemNext);
		botaoNext.addActionListener(this);

		botaoPrevious = new JButton("Anterior");
	    imagemPrevious = new ImageIcon("/home/programador/workspace/PPCP-Havaianas/src/main/java/imagens/go_previous.png");  
		botaoPrevious.setIcon(imagemPrevious);
		botaoPrevious.addActionListener(this);

		botaoNovo = new JButton("Novo");
	    imagemNovo = new ImageIcon("/home/programador/workspace/PPCP-Havaianas/src/main/java/imagens/New file.png");  
		botaoNovo.setIcon(imagemNovo);
		botaoNovo.addActionListener(this);

		botaoAlterar = new JButton("Alterar");
	    imagemAlterar = new ImageIcon("/home/programador/workspace/PPCP-Havaianas/src/main/java/imagens/Alterar_32x32.png");  
		botaoAlterar.setIcon(imagemAlterar);
		botaoAlterar.addActionListener(this);

		botaoGravar = new JButton("Gravar");
	    imagemGravar = new ImageIcon("/home/programador/workspace/PPCP-Havaianas/src/main/java/imagens/HD.png");  
		botaoGravar.setIcon(imagemGravar);
		botaoGravar.addActionListener(this);
		
		botaoCancelar = new JButton("Cancelar");
	    imagemCancelar = new ImageIcon("/home/programador/workspace/PPCP-Havaianas/src/main/java/imagens/button_cancel.png");  
		botaoCancelar.setIcon(imagemCancelar);
		botaoCancelar.addActionListener(this);

		navegacao.add(botaoFirst);
		navegacao.add(botaoPrevious);
		navegacao.add(botaoNext);
		navegacao.add(botaoLast);
		persistencia.add(botaoNovo);
		persistencia.add(botaoAlterar);
		persistencia.add(botaoGravar);
		persistencia.add(botaoCancelar);
		painel1.add(navegacao);
		painel1.add(persistencia);
		add(painel1);
		add(painel2);
		painel3.add(scrollPane);
		add(painel3);
	}
	
	
	public void actionPerformed(ActionEvent evt){
	      Object source = evt.getSource();
	      if (source == botaoFirst){
	    	  clickBotaoFirst();
	      } else if (source == botaoPrevious){
	    	  clickBotaoPrevious();
	      } else if (source == botaoNext){
	    	  clickBotaoNext();	
	      } else if (source == botaoLast){	    	  
	    	  clickBotaoLast();
	      } else if (source == botaoNovo){
		
	      } else if (source == botaoAlterar){
		
	      } else if (source == botaoGravar){
		
	      } else if (source == botaoCancelar){
		
	      }
	}
	
	
	protected void clickBotaoFirst(){
		setPosicaoAtual(0);
		exibirCampos();
	}
	
	protected void clickBotaoPrevious(){
		if (posicaoAtual < 1){
			setPosicaoAtual(0);
			exibirCampos();
		} else {
			setPosicaoAtual(getPosicaoAtual() - 1);
			exibirCampos();			
		}
	}	
	
	
	protected void clickBotaoNext(){
		if (posicaoAtual < getTamanhoLista()-1){
			setPosicaoAtual(getPosicaoAtual() + 1);
			exibirCampos();			
		} else {
		}

	}	
	
	protected void clickBotaoLast(){
			setPosicaoAtual(getTamanhoLista()-1);
			exibirCampos();		
	}	
	
	
	protected void exibirCampos(){
		
	}

	protected void setPosicaoAtual(int valor){
		posicaoAtual = valor;
	}
	
	protected int getPosicaoAtual(){
		return posicaoAtual;
	}
	
	protected void setTamanhoLista(int valor){
		tamanhoLista = valor;
	}
	
	protected int getTamanhoLista(){
		return tamanhoLista;
	}
	

}
